Integrated circuits can be designed digitally, meaning that their designs are primarily contained in computer files, rather than as graphics that are drawn on pieces of paper or some other hardcopy.
As the term is used herein, “integrated circuit” includes devices such as those formed on monolithic semiconducting substrates, such as those formed of group IV materials like silicon or germanium, or group III-V compounds like gallium arsenide, or mixtures of such materials. The term includes all types of devices formed, such as memory and logic, and all designs of such devices, such as MOS and bipolar. The term also comprehends applications such as flat panel displays, solar cells, and charge coupled devices.
The digital design files for integrated circuits are typically stored in a format that is specific to the computer aided design (CAD) tool that is used to create the digital integrated circuit design. These CAD tools are made by a variety of companies, such as Mentor, Cadence, Avanti, and Magma, each of which has their own proprietary file format. These tool-specific formats are generally referred to herein as internal formats and internal files.
When the design process is complete (or believed to be), the digital integrated circuit design is recorded and delivered to the fabrication facility in a process called tapeout. The tapeout file is produced by the CAD tool, which takes the internal format file and produces a file in a standardized format that is not proprietary to any specific tool. For example, the most common file format is based on the Graphic Data System, commonly called GDS II. Tapeout can also be made to other standardized formats, such as the Library Exchange Format (LEF) or the Design Exchange Format (DEF). These open standard formats are generally referred to herein as external formats and external files.
The external file is received by the fabrication facility where, typically, some type of verification of the digital design is performed. For example, as integrated circuits get smaller and more complex, it becomes more difficult to ensure that a digital design does not violate any of the possibly many hundreds of design rules that are imposed to ensure that the integrated circuit functions properly. To ensure that the design rules are not violated, a design rule checking routine (DRC) can be run on the digital design, which will flag any violations of the design rules. For present purposes, the tool on which DRC is performed is called a DRC tool.
In addition, a layout versus schematic (LRC) comparison routine can be run on the digital design (perhaps after fixing any design rule violations previously flagged), which finds problems with the design having to do with issues such as lithographic effects like proximity correction. For present purposes, the tool on which LRC is performed is called an LRC tool. When the errors in the external file that are found by these and other such routines have been fixed, then the digital design is ready to move into prototyping.
For present purposes, the design of an integrated circuit as accomplished in the CAD tool can be divided into two groups. The first group includes the designs of structures that are formed within the semiconducting substrate, and the second group includes the designs of structures that are formed on top of the semiconducting substrate. The structures in this second group are often individually referred to as layers, and a specific combination of the layers that are required for a given integrated circuit design are often referred to as a stack. Again for present purposes, the layers of the stack as described herein are limited to the electrically conductive layers that are typically formed of a metal. Thus, the layer stack is the part of the integrated circuit that provides most of the electrical connections in the integrated circuit.
According to the broadly adopted Taiwan Semiconductor Company (TSMC) design rules, layers are further divided into two groups. The first group includes the so-called thin layers, and the second group includes the so-called thick layers. There may be five, six, or seven thin layers used in a given layer stack design, and one or two thick layers. The thin layers are disposed in a numbered order, layers 1-7 for example, one on top of another nearest the substrate. The thick layers are disposed on top of the thin layers, also in a numbered order. For example, if two thick layers are used on top of five thin layers in a given design, then the designation for the layer stack would be 5+2, where the 5 refers to the number of underlying thin layers, and the +2 refers to the number of overlying thick layers. A film stack typically has at least five thin layers, where the lower-most five layers are typically substantially the same from design to design within an integrated circuit design family. Similarly, a film stack typically has at least one thick layer.
Within a given stack, the thin layers are actually thinner than the thick layers. However, the actual thicknesses of these layers tend to be relative within a given stack, rather than absolute. Therefore, to avoid confusion, and for present purposes, the thin metal layers are generally referred to herein as bottom metal layers, since they reside near the bottom of the stack, and the thick metal layers are generally referred to herein as top metal layers, since they reside near the top of the stack.
Design engineers create very specific digital integrated circuit designs in the CAD tool. For example, if a given integrated circuit design family includes one integrated circuit or one group of integrated circuits with a 5+1 stack, another with a 5+2 stack, and others each with a 6+1 stack, a 6+2 stack, a 7+1 stack, and finally a 7+2 stack, then the designer must individually create six different stack designs in the CAD tool for that integrated circuit family.
In the example above, it is possible for a first given integrated circuit design within the family to have as few as six metal layers (5+1) and for a second given integrated circuit design within the family to have as many as nine metal layers (7+2). However, in the first design, the sixth metal layer, for example (generally referred to with the notation M6—indicating the sixth metal layer), is a top metal layer (the +1 top metal layer in the 5+1 notation), and in the second design the sixth metal layer (also M6) is a bottom metal layer (the sixth of the 7 bottom metal layers in the 7+2 notation). Designs with more metal layers are referred to herein as higher level designs, and designs with less metal layers are referred to herein as lower level designs.
Thus, according to the TSMC design rules, the M6 layer of the first design is taped out with a code that identifies it as a top metal layer, while the M6 layer of the second design is taped out with a code that identifies it as a bottom metal layer. Thus, the tapeout process for these different designs produces external files that are also highly specific to the integrated circuit design, and an M6 layer in one design might be completely different from an M6 layer in another design, even within the same integrated circuit design family.
Creating more designs costs more money in engineering time and in tool-use time, and the greater number of designs is more difficult and costly to maintain. Further, if a new stack design is desired at a later point in time, the design engineer must return to the CAD tool and manually produce and tapeout the new design.
What is needed, therefore, is a system that reduces problems such as those described above, at least in part.